package main

import (
	"demo/15/model"
	"fmt"
	"net/rpc"
)

func main2() {
	// 以HTTP方式连接127.0.0.1:8090，并获得连接客户端对象client
	client, err := rpc.DialHTTP("tcp", "127.0.0.1:8090")

	// 如果出现错误，则打印错误提示，并直接退出
	if err != nil {
		fmt.Println("RPC拨号连接出错")
		return
	}

	// 创建UserDetail对象
	user := new(model.UserDetail)

	// 利用客户端对象client，调用远程方法，并传入参数。
	err = client.Call("UserHandler.GetUserInfo", "golang", user)

	// 如果出现错误，则打印错误信息，并退出程序
	if err != nil {
		fmt.Println("获取用户信息出错")
		return
	}

	// 打印从服务端获得的响应信息
	fmt.Printf("用户ID：%+v\n", user.Id)
	fmt.Printf("用户名：%+v\n", user.Username)
	fmt.Printf("用户昵称：%+v\n", user.Nickname)
}
